PICの実験回路
PIC(Peripheral Interface Controller:周辺機器接続制御用IC)は、マイコンを内蔵したインターフェースICで、IC内に書き込むプログラムによって、外部のI/Oとのやり取り(制御、入力待ち、割り込み操作等)を簡単な回路で行うことができる、非常に便利で応用範囲の広いICである。 (プログラムは何度でも書き換え可能であり、比較的安価(300円程度))
・・・・・ (参考文献) 「PICマイコン完全マスター」、遠藤敏夫
著、電波新聞社
(1) LED点滅テスト: ・・・ 「時間の創出」の技法
代表的なPIC IC: 16F84Aを用いて、8個のLEDを4個ずつ順次左から右へ点灯させるプログラムを図の回路によって行う。
RB0〜RB7のポートBすべてを出力用にセットしている。 RA0〜RA4は入力用のままで10kΩでアースに落とす。(あるいは、すべて出力用にしてOpen)
外部発振素子は10MHzのレゾネータ(セラロック)を使用。
● ソース・プログラム と その説明(赤色):
● アセンブラ・ソフト「MPLAB IDE」内の「MPASM」によるアセンブリー言語(.asm)から機械語(.hex)への翻訳;
マイクロチップ・テクノロジー社のHPから、無料ダウンロードでソフトを入手する。・・・ http://www.microchip.com
(* ソフトの使い方は、参考文献を参照してください)
● PICプログラマー・キット(PICライタ・「AKI・PICプログラマー・キットVer3.5」、秋月電子)を使用して、翻訳された機械語ファイル(.hex)をPIC
ICに書き込む。(完成品も市販されています。)
● テストラン;
PICをソケットに差込み電源ON。
(2) モーターコントロール回路 @: ・・・ 「入・出力ポート」の技法
PIC16F84Aの RB7をフォトセンサからの信号入力に、RA0〜RA3をモータードライブ出力に、RB0、RB1をLED点滅出力に使用している。
進行方向の反射光を検出する赤外線フォトセンサ RPR220は、周囲の明るさにかなり影響されるので、100kΩの半固定VRで調整したほうが良い。
モータードライバ TA7291Pは、定格3Aで、小型のマブチモーターを動かすことができる。 ・・・・・ 6本足走行模型;”インセクト”(タミヤ)使用。(速度が遅く、モーターが下にあるので上がフラットで工作しやすい)
動作は、PORT Aの出力(RA3、RA2、RA1、RA0)が、 (1010):前進、 (0101):後退、 (1001):右旋回(右・前進、左・後退)、 (0110):左旋回、 (1011):右折、 (1110):左折、 (1111):停止、 (0000):無制動。
● ソース;
(3) モーターコントロール回路 A: ・・・ 「入力待ち」の技法
(2)と同じ”インセクト”を用いて、入力スイッチ(タクトスイッチ)を設け(=入力待ち)、あらかじめデータとして設定された一連の動作をレジスタに収納し、それを読み出して実行させる。
最大48ステップの入力が可能。(16F84のファイルレジスタは4FH(=79)まで)
・ 各動作と入力スイッチとの関係; RB0〜RB4を押して入力し、RB5はシフトキーとして働く。
スイッチ(1) | RB5 | RB5 | RB5 | RB5 | RB5 | |||||
スイッチ(2) | RB4 | RB3 | RB2 | RB1 | RB0 | RB4 | RB3 | RB2 | RB1 | RB0 |
データ | 0110b | 1110b | 1010b | 1011b | 1001b | 0000b | 1101b | 0101b | 0111b | 1111b |
動作 | 左旋回 | 左折 | 直進 | 右折 | 右旋回 | 無制動 | 後右折 | 後退 | 後左折 | 停止 |
・ RB6を押すと入力データがすべてクリアされ、入力待ちになる。 RA4を押すとスタート・再スタートする。
● ソース;
* プログラムは”機械”に対し、(一定の規則に従ってですが、)人間の思索を最もストレートに表現する方法です。すなわち、ある機能を実現させるために、機械で作ると非常に複雑になる回路を、プログラムがその”複雑さ”の大部分を代行しています。 ここが
人の「創造性」を発揮できる部分です。
たとえば、マイコンの最小時間はすべて発振素子(水晶、セラロックなど)の周波数によって規定されます。
一方、物理学的には、「時間」は連続な存在ではなく、「プランク時間」( = 5.39121 × 10-44 秒)という最小時間をもつ、量子論的に不連続な実体であると考えられています。 プログラムでは、「NOP
(=No Operation:何もしない)」を時間の最小単位とし、それをループで非常に多くの回数まわして
ある適当な長さにして用いていますが、このように、自然の構造と非常に類似しています。
・・・ 無限ループならば、(電力供給が続く限り)時間は無限に過ぎていきます。
神様は、「時間」を創造されました。 そしてこの発想法の類似は、「人は、創造主なる神に似せて造られた」ことの一部を証明しています。